PHP 水印和缩略图

php实现水印和缩略图功能

添加文字水印

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
/*打开图片*/
//1.配置图片路径(填入你的图片路径)
$src="http://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg";
//获取图片信息
$info = getimagesize($src);
//通过图像的编号来获取图像的类型
$type=image_type_to_extension($info[2],false);
//在内存中创建一个和我们图像类型一样的图像
$fun = "imagecreatefrom{$type}";
//把图片复制到我们的内存中
$image=$fun($src);
/*操作图片*/
//设置字体的路径
$font="/tpl/Index/Static/css/img/fonts/Christmas.ttf";
//添加内容
$content="hello";
//设置字体的颜色和透明度
$col=imagecolorallocatealpha($image,255,255,255,30);
//写入文字
imagettftext($image,20,0,20,30,$col,$font,$content);
/*输出图片*/
//浏览器输出
header("Content-type:".$info['mime']);
$func="image{$type}";
$func($image);
//保存图片
$func($image,'FFF.'.$type);
/*销毁图片*/
imagedestroy($image);
?>

添加图片水印

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
/*打开图片*/
//配置图片路径
$src = "http://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg";
//获取图片的基本信息
$info=getimagesize($src);
//通过图像的编号来获取图片的类型
$type=image_type_to_extension($info[2],false);
//内存中创建一个和我们图像类型一致的图像
$fun = "imagecreatefrom{$type}";
//把要操作的图片复制到内存中
$image=$fun($src);
/*操作图片*/
//设置水印路径
$image_Mark = "http://img.php.cn/upload/course/000/000/004/5814594e3e7c9278.png";
//获取水印的基本信息
$info2=getimagesize($image_Mark);
//通过水印的图像编号来获取水印的图片类型
$type2=image_type_to_extension($info2[2],false);
//在内存中创建一个和水印图像一致的图像类型
$fun2="imagecreatefrom{$type2}";
//把水印复制到内存中
$water = $fun2($image_Mark);
//合并图片
imagecopymerge($image,$water,60,40,0,0,$info2[0],$info2[1],30);
//销毁水印图片
imagedestroy($water);
/*输出图片*/
header("Content-type:",$info['mime']);
$funs = "image{$type}";
$funs($image);
/*销毁图片*/
imagedestroy($image);
?>

缩略图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
/*打开图片*/
$src = "http://img.php.cn/upload/course/000/000/004/5812bd10e70ef729.jpg";
$info = getimagesize($src);
$type = image_type_to_extension($info[2],false);
$fun = "imagecreatefrom{$type}";
$image = $fun($src);
/*操作图片*/
//在内存中建立一个宽300高200的真色彩图片
$image_thumb = imagecreatetruecolor(300,200);
//将原图复制到新建的真色彩图片上,并且按照一定比例压缩(参数1:真色彩图片,参数2:原图,参数3,4,5,6:原图和真色彩图的起始点,参数7,8:原图和真色彩图的结束点,参数9:原图宽,参数10:原图高)
imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]);
//销毁原始图片
imagedestroy($image);
/*输出图片*/
header("Content-type:".$info['mime']);
$funs = "image{$type}";
$funs($image_thumb);
//保存到硬盘
$funs($image_thumb,"thumb_image.".$type);
/*销毁图片*/
imagedestroy($image_thumb);
?>

links